刚开始学习一门编程语言,除了了解运行环境与语言类型之外,最基本还是从该语言的基本数据类型开始学起。

Python六大常用数据类型:

  1. int 整数
  2. float 浮点数
  3. str 字符串
  4. list 列表
  5. tuple 元组
  6. dict 字典

讲解这些先说一下python中的变量与变量名。
变量其实本质上是一个具有特殊格式的内存,变量名则是指向这个内存的别名。
python中的变量不需要声明,所有的变量必须赋值了才能使用。
赋值的步骤:

a = 100

第一步:准备好值100
第二部:准备好变量名a
第三部:将值与名字进行关联

一、整数
python将其他一些静态语言中的int、long,也就是整型和长整型合并为了一个。
python中的int是边长的,也就是说可以存储无限大的整数,但是这是不现实的,因为
没有这么多的内存够分配。
整型不仅支持十进制,还支持二进制、八进制、十六进制。
可以通过下面的方式来互相转换:

print(bin(20)) #转换二进制
print(oct(20)) #转换八进制
print(hex(20)) #转换十六进制

二、浮点型
浮点数也就是小数,如22.1,44.2,也可以使用科学计数法,比如:1.22e8。
python支持对整数和浮点数直接进行四则混合运算。
整数运算结果仍然是整数,浮点数运算结果仍然是浮点数,但整数和浮点数混合运算的结果就变成浮点数了。

a = 1
b = 1.1
print(type(a+b)) #<class 'float'>

三、字符串
字符串在任何编程语言中都是最常用的数据类型。
字符串的创建很简单,也是上面所说的三步,但是要加上单引号或者双引号。

a = "hello python"

也可以使用 """ 创建多行字符串:

a = """
    hello
    python
"""

字符串可以通过下面方式进行截取或者连接:

print (str[0:4])      输出第一个到倒数第四个的所有字符
print (str[0])        输出单字符 第1个字符
print (str[3:])       输出从第四个开始之后的所有字符
print (str * 2)       输出字符串两次
print (str + "bbbb")  连接字符串

字符串常用函数:
str.strip() 消除字符串s左右两边的空白字符(包括't','n','r','')
len(str) 获取字符串长度
str.upper() 转换为大写
str.lower() 转换为小写
str.title() 每个单词首字母大写
str.capitalize() 首字母大写
字符串翻转:

a = 'abcde'
print(a[::-1])

字符串分割:

a = 'hello,python'
print(a.split(',')) #['hello', 'python'] 返回一个列表

相对应的还有一个将列表元素连接成字符串:

a = ['hello', 'python']
str = '-'
print(str.join(a)) # hello-python

四、列表
列表的写法是一个方括号内的值用逗号分隔。比如上面的['hello', 'python']。
列表的数据项不需要具有相同的类型,列表中的每个元素都分配一个数字索引,第一个索引是0,第二个索引是1,依此类推。
访问列表中的值可以通过下面的方式:

list1 = [1, 2, 3, 4, 5, 6]
print(list1[2])

同样可以通过索引截取

print ("list1[2:5]: ", list1[2:5])

列表常用操作:
list1.append('7') 追加一个元素在末尾,每次只能添加一个
len(list1) 返回列表元素个数
max(list1) 返回列表元素最大值
min(list1) 返回列表元素最小值
list1.count(obj) 统计某个元素在列表中出现的次数
list1.index(obj) 从列表中找出某个值第一个匹配项的索引位置
list1.reverse() 反向列表中元素
list1.clear() 清空列表
list1.extend(seq) 在列表末尾一次性追加另一个序列中的多个值,也就是扩充了列表
append与extend的区别:

A = ['a', 'b', 'c']
A.append(['d', 'e'])
print(A) # ['a', 'b', 'c', ['d', 'e']]

B = ['a', 'b', 'c']
B.extend(['d', 'e'])
print(B) # ['a', 'b', 'c', 'd', 'e']

extend方法只能接收list类型,它是把这个列表中的每个元素添加到原list中。
append可以接收任意类型,追加到原list的末尾。

五、元组
元组的创建也很简单,和list类似,只是把'[]'换成了'()'。

tup1 = ('hello', 'python')

元组中只有一个元素的时候要注意:

tup2 = (10)
tup3 = ('a')
print(type(tup2)) #<class 'int'>
print(type(tup3)) #<class 'str'>

因为这样会被解释器当做运算符,所以正确的方法是在第一个元素后面添加逗号。

tup4 = ('a',)
print(type(tup4)) #<class 'tuple'>

元组同样可以使用下标索引来访问元组中的值:

tup5 = ('hello', 'python', 'hello', 'word')
print(tup5[1]) #python
print(tup5[1:3]) #('python', 'hello')

注意:
元组是不可以被修改的。

tup6 = ('hello', 'python', 'hello', 'word')
tup6[2] = 'aaa'

上面会出现一个异常: TypeError: 'tuple' object does not support item assignment
但是元组中如果包含了一个列表,那么这个列表是可以被修改的。

tup7 = ('hello', 'python', 'hello', 'word', ['aa', 'bb', 'cc'])
tup7[-1][1] = 'ddd'
print(tup7) # ('hello', 'python', 'hello', 'word', ['aa', 'ddd', 'cc'])

元组运算符:
len(tup) 计算元素个数
tup1 + tup2 连接生成新元组
tup * 4 元组复制
num in tup 元素是否存在,返回True/False

六、字典
python中的字典就是key,value的形式。使用大括号包含起来。字典中的成员的键是唯一的,如果出现多个同名的键,那么写在后面覆盖前面的值。
形式如下:

dict1 = {'a' : 1, 'b' : 2}

字典的常用操作最基本的也就是增删改查:
获取:
直接通过键来获取。

dict['b'] # 2

dict.keys() 获取字典中所有的键
dict.values()获取字典中的所有的值
增加:

dict1['c'] = 3 #{'a': 1, 'b': 2, 'c': 3} #如果键存在则更新对应的值

修改:
直接给键进行再次赋值就可以修改键对应的值了。
如果键不存在,则变成添加成员。
还可以通过:

dict1.update({"a":"11"})
dict1.setdefault("a", "222") # 已存在的键则修改无效
dict1.setdefault("d","222") # 不存在的话则创建
dict1.setdefault("e") # 没有设置值为None

删除:
使用pop删除指定键对应的成员,同时返回该值

print(dict1) # {'a': '11', 'b': 2, 'c': 3, 'd': '222', 'e': None}
print(dict1.pop("a")) # a
print(dict1) # {'b': 2, 'c': 3, 'd': '222', 'e': None}
#在不设置默认值的情况下,使用pop删除不存在的键,会报错。
print(dict1.pop("f")) # 报错 KeyError: 'f'

如果设置了默认值, print(dict1.pop("f", None)),则不会报错,返回这个默认值。
判断是否删除成功可以通过下面方式来判断:

if dict1.pop("f", None) == None:
    print('键不存在')
else:
    print('删除成功')

以上则是python中最基本的数据类型以及用法,当然还有其他的数据类型,作者暂时只列举了这些。


Amauri
94 声望7 粉丝